Remote control code search method and apparatus

ABSTRACT

A universal remote control and a method for programming a universal remote control allows a user to quickly and easily identify a set of remote control signal formats that include a desired signal format and then individually test the signal formats in the identified set to identify the desired signal format. A reference code, or other identification information, associated with the desired signal format. In the code search mode of operation, the present universal remote control generates and transmits one of a plurality of sets of signal formats stored in a memory circuit (RAM,ROM) in response to the user pressing a first control key ( 76 ). The user repeatedly presses the first control key and observes the controlled device to identify a set of signal formats that includes the desired signal format. After the desired set of signal formats is identified, the user presses either a second or a third control key ( 74,78 ) to individually transmit each signal format in the identified set of signal formats. The user repeatedly presses the second and third control keys and observes the controlled device to identify the desired signal format.

The present invention relates to remote controls for operatingelectronic devices, and more particularly to universal remote controlswhich can be programmed to operate one of a plurality of different typesof electronic devices produced by different manufacturers.

Universal remote controls are well known devices which can be programmedby a user to operate one of a plurality of different types of electronicdevices produced by different manufacturers. Universal remote controlsare often used to control audio/video equipment, such as TVs, VCRs, CDplayers and the like. Due to their programmability, consumers frequentlyuse universal remote controls to replace lost remote controls and/or asa single control device for controlling a number of separate audio/videocomponents.

Prior to use, a universal remote control typically must be programmedfor operation with the electronic device being controlled. Programming auniversal remote control generally involves identifying and storing areference code, or some other identification information, associatedwith the correct signal format into a memory circuit of the universalremote control. Once programmed, the universal remote control transmitscontrol signals having a signal format that is appropriate for thedevice being controlled. The signal format is determined bycharacteristics which include, but are not limited to, carrierfrequency, pulse width, pulse modulation and overall timing.

Several methods are available for programming a universal remote controlto transmit control signals having the desired signal format. One methodis to manually enter the reference code associated with the controlleddevice. In such a method, a list of reference codes for a variety ofdevice models is included in the printed instruction set thataccompanies the universal remote control. The user finds the referencecode associated with the device to be controlled and manually enters thecode numbers using a numeric keypad disposed on the universal remotecontrol. This method can be problematic for the user because thespecific reference code numbers must be known in order to program theuniversal remote control. Thus, the reference code list must be keptnearby and consulted whenever a new code must be entered or a particularcode needs to be reentered.

Another method of programming a universal remote control is an automaticcode searching and storing method. In this method, the universal remotecontrol automatically and continuously passes through a set of signalformats by sequentially sending remote control signals based on each ofthe signal formats in a stored list until the user stops the signalformat search sequence. The user initiates and maintains the automaticsearch sequence by pressing a designated set of keys. During the cyclingof the signal formats, the remote control pauses between each signalformat allowing the user to observe whether the controlled device reactsto a particular signal format. When the controlled device reacts to theremote control signal in the desired manner, the user knows that thecorrect signal format, and thus the correct reference code, has beenidentified and terminates the automatic search sequence. Terminating thesearch sequence causes the universal remote control to stop cyclingthrough the signal formats and store the reference code, or otheridentifying information, associated with the most recently transmittedsignal format into a memory circuit.

An example of a system that employs such a method is disclosed in EP-A-0233 307. The disclosed system is a remote control apparatus which, inresponse to a first input, generates and transmits a sequence of remotecontrol signals, each of the signals in a different format. The userobserves the appliance and waits for the appliance to react in anexpected manner. When the appliance reacts, the user provides a secondinput that causes the remote control apparatus to save the last signalformat transmitted.

A disadvantage of the automatic search method is that such a methodrequires the user to react within a predetermined pause period. The usermust react within the allotted pause period when the device reacts asexpected to a remote control signal in order to stop the cycling of thesignal formats and store reference code associated with the desiredsignal format into a memory circuit. If the user is distracted and/orreacts too slowly, the improper reference code will be stored in memoryand the user must repeat the code search operation to find and store thecorrect reference code. It can be seen that this method becomesdifficult and frustrating to use if the user is repeatedly unable toreact within the allotted pause periods.

Yet another method of programming a universal remote control is asemi-automatic code search method in which the user steps through aplurality of signal formats stored in a memory portion until the desiredsignal format is found. In this method, the user steps through a set ofsignal formats stored in memory by transmitting a sequence of remotecontrol signals, one at a time, wherein each transmitted remote controlsignal has a different signal format, by pressing a designated set ofkeys. After each remote control signal format is transmitted, the userobserves whether the device reacts to the transmitted signal, i.e.,power ON/OFF or channel UP/DOWN. When the device reacts to the signal inthe expected manner, the user knows that the appropriate signal formathas been transmitted. At this point, the user presses another set ofkeys to terminate the code search operation and store the referencecode, or other identifying information, associated with the lasttransmitted signal format into a memory circuit.

A difficulty with the above-described method is that the user may beforced to step through a large number of signal formats beforeidentifying the correct signal format because there may be a largenumber of signal format possibilities stored in the memory circuit. Infact, the reference codes are getting longer, moving from two digits tothree and four digits, due to the longer list of formats available. Itcan be seen that such a difficulty can make this method tedious and timeconsuming. This is especially problematic if the desired signal formatis stored near the end of the signal format list.

What is needed is an improved method of quickly and easily programming auniversal remote control to transmit remote control signals in a desiredsignal format. In particular, it is desired to be able to program auniversal remote control without having to refer to a printed list ofreference codes and manually enter a specific reference code into theuniversal remote control. It is also desired to be able to program auniversal remote control by cycling through a set of stored signalformats wherein the user can quickly, easily and efficiently control therate at which the stored signal formats are transmitted and tested.

The present invention involves a universal remote control and a methodfor programming a universal remote control which allows a user toquickly and easily test a set of stored signal formats to identify thedesired signal format and store a reference code, or other identifyinginformation, associated with the desired signal format into a memorycircuit such that subsequent remote control signals will be transmittedin the desired signal format.

The present universal remote control comprises a signal transmitter,data entry means for allowing a user to enter data and one of aplurality of code search commands, a memory circuit, and a controller.The controller generates and applies one of a plurality of sets ofremote control signals to the signal transmitter in response to userentry of a first code search command. Each of the sets of remote controlsignals comprises a plurality of remote control signals and each of theremote control signals has a respective signal format based on a list ofsignal formats stored in the memory circuit. The controller alsogenerates and applies one of the remote control signals from the mostrecently transmitted set of remote control signals in response to userentry of a second code search command. The controller stores anidentification information associated with a most recently transmittedsignal format in response to user entry of a code search exit command.Advantageously the controller generates and applies the remote controlsignals from the most recently transmitted set of remote control signalsto the signal generator, in a first predetermined order, in response toeach user entry of the second code search command, and generates andapplies the remote control signals from the last transmitted set ofremote control signals to the signal generator, in a secondpredetermined order, in response to each user entry of a third codesearch command.

The present invention allows a user to quickly identify a set of signalformats which includes the desired signal format by entering the firstcode search command, and then quickly identify the specific, desiredsignal format from the identified set of signal formats by entering thesecond and third code search commands keys.

The present invention also involves a method for programming a universalremote control comprising the steps of identifying a signal set whichincludes a desired signal format by transmitting a plurality of signalsets until the controlled device observably responds in an expectedmanner, identifying the desired signal format in the identified signalset by individually transmitting the remote control signal formatsincluded in the identified signal set until the controlled deviceobservably responds in an expected manner, and storing an identifyinginformation, such as a reference code, associated with the identifiedsignal format in a memory circuit.

The invention will be described with reference to the accompanyingdrawings, wherein:

FIG. 1 is a simplified block diagram of the elements in the presentuniversal remote control;

FIG. 2 is a flowchart diagram showing the steps for programming auniversal remote control in accordance with a method of the presentinvention; and

FIG. 3 is a top plan view of a suitable universal remote control layoutfor implementing the present invention.

Referring to FIG. 1, there is shown a simplified block diagram ofuniversal remote control 10. The elements within universal remotecontrol 10 and their operation in generating and transmitting remotecontrol signals for controlling electronic devices are known in the artand will not be discussed in detail here.

Generally, user input is received through keypad matrix 20 whichincludes various control keys, device selection keys, numerical keys,transport keys and the like. Microcontroller 14 receives the user inputand generates an appropriate remote control signal having the requiredsignal format. Microcontroller 14 generates the remote control signalsin accordance with the designated reference code by looking up theassociated signal format information stored in the RAM and/or ROM toproduce the correct signal format from the product code look up tables.It is to be understood that the RAM and ROM may be either internal orexternal to microcontroller 14. It is also to be understood thatreference code refers to any identifying information which may be storedin the universal remote control and can be associated with a particularsignal format. Signal format characteristics include, but are notlimited to, carrier frequency, pulse width, pulse modulation and overallsignal timing information.

Microcontroller 14 applies the remote control signal to infrared LEDcircuit 16 to transmit the remote control signal to the controlleddevice. The remote control signal may also be transmitted using anysuitable method, including, but not limited to RF transmissions.Microcontroller 14 also lights up indicator LED 12 to indicate that aremote control signal has been transmitted. Indicator LED 12 maycomprise a plurality of LEDs that are controlled as required during theremote control programming procedures as described further below.Crystal oscillator 18 generates a clock signal which controls the rateand timing of operation performed by microcontroller 14.

A universal remote control which includes a numeric and control buttonkeypad layout 60 suitable for use with the present reference code searchmethod is illustrated in FIG. 3. Again, reference code search refers tothe identification and storage of a reference code, or any otheridentifying information, which is associated with a particular deviceand/or signal format and allows microcontroller 14 to look up thedesired information to generate a remote control signal having thedesired signal format. Universal remote controls which generally includethe elements described above and a suitable keypad layout include, butare not limited to, CRK76TA1, CRK76TBL1, CRK76TCL1 and CRK76TD1manufactured by THOMSON CONSUMER ELECTRONICS of Indianapolis, Ind.

As shown in FIG. 3, keypad layout 60 includes LED 62 and LED 67. LED 62visibly indicates when various operations occur, for example, keypadentry, and remote control signal transmission. LED 67 provides visibleindications during the code search mode of operation. However, it is tobe understood that the indication functions may be provided by a singleLED or any combinations of LEDs. Keypad layout 60 also includes numerickeypad 70, a plurality of device keys 63-65 for selecting the device tobe controlled by remote control 10. Transport keys 74, 76, 78 and 82 areused to control the operation of a videocassette recorder, as well asduring the reference code search procedure as described further below.Power key 72 is used to turn a selected device ON and OFF.

In addition to the conventional functions associated with the variouskeys on keypad layout 60, a number of keys are associated with codesearch functions when universal remote control 10 operates in the codesearch mode. However, it is to be understood that although the preferredembodiment associates certain keys with certain functions, the inventionis not limited to any specific associations between particular keys andcode search commands.

In the preferred embodiment, a user configures universal remote control10 for the code search mode by pressing one of the device keys 63-65 andpower key 72 at the same time until LED 67 illuminates. The device keyand power key 73 may be released once LED 67 illuminates and LED 67remains illuminated while universal remote control 10 is operating inthe code search mode. Additionally, LED 67 flashes OFF and ON each timethe user presses a key and each time a remote control signal istransmitted while in the code search mode so the user can verify theoperation of universal remote control 10.

Transport keys 74, 76 and 78 are used to cause universal remote control10 to transmit various remote control signals having respective signalformats based on a list of signal formats stored in ROM as describedbelow.

In the code search mode, each time the user presses PLAY key 76,universal remote control 10 transmits one of a plurality of sets ofremote control signals. Each set of remote control signals includes apredetermined number of remote control signals, in this case 10 signals,wherein each remote control signal uses a respective signal format takenfrom the list of signal formats stored in ROM. Universal remote control10 pauses about 5 seconds between each remote control signaltransmission and LED 67 will flash OFF and ON each time one of theremote control signals in the set of signals is transmitted. If the userpresses PLAY key 76 after universal remote control 10 has cycled throughthe entire list of stored signal formats, universal remote control 10wraps back up to the first signal format in the stored list.Alternatively, an indicator may be provided to indicate that the lastset of signal formats has been reached.

It can be seen that a user can quickly test a set of signals todetermine whether the set includes a signal that uses the correct signalformat by pressing PLAY key 76 and observing the controlled device. Inthe preferred embodiment, universal remote control 10 transmits a powerOFF signal when the user presses PLAY key 76, thus the user observeswhether the controlled device turns OFF in response.

Also in the code search mode, the user may press either FF key 78 or REWkey 74 to individually test the signal formats used in the most recentlytransmitted set of signals. When the user initially presses FF key 78after having pressed another control key, universal remote control 10generates and transmits a power ON signal using the most recentlytransmitted signal format. Thereafter, when the user presses FF key 78,universal remote control key 10 generates and transmits a power ONsignal using the signal format immediately following the lasttransmitted signal format in the set of signals transmitted during thelast activation of PLAY key 76. If the most recently transmitted signalformat is the last signal format of the 10 signal formats in the set ofsignals, universal remote control 10 wraps around and transmits a powerON signal using the first signal format in the set of signals.

When the user initially presses REW key 74 after having pressed anothercontrol key, universal remote control 10 generates and transmits a powerON signal using the last signal format transmitted. Thereafter, when theuser presses REW key 74, universal remote control 10 generates andtransmits a power ON signal based on a signal format immediatelyprevious to the most recently transmitted signal format used in the setof signals transmitted during the last activation of PLAY key 76. If thelast transmitted signal format is the first signal format of the 10signals in the set of signals, universal remote control 10 wraps aroundand transmits a signal using the last signal format in the set of signalformats.

Therefore, the user can individually check the signal formats used in anidentified set of signals in both the forward and reverse directions.After pressing either FF key 78 or REW key 74, the user observes whetherthe controlled device responds to the power ON signal. When thecontrolled device responds as expected the user knows that the mostrecently transmitted signal format is the correct format for theparticular device.

To exit the code search mode, the user can press either STOP key 82 orCLEAR key 84 until LED 67 turns OFF. Pressing STOP key 82 until LED 67turns OFF causes universal remote control 10 to store the reference codeassociated with the most recently transmitted signal format into amemory circuit and exit the code search mode. Subsequent remote controlsignals will be transmitted in accordance with the stored referencecode. Pressing CLEAR key 84 causes universal remote control 10 to exitthe code search mode without storing the reference code associated withthe last transmitted signal format.

The present code search method for identifying and storing a desiredreference code is now described with reference to FIG. 2. Initially theuser enters the procedure at step 100 and configures the device forobservable operation in step 102. In the exemplary embodiment, the userconfigures the device by turning ON the device and positioning it sothat the user can readily observe whether the device turns ON or OFF inresponse to the code search procedure. In step 104, the user enters thecode search mode by pressing and holding down one of the devices keys63-65, depending on the device to be controlled, and power key 72 untilcode search LED 67 turns ON.

In step 106, the user begins testing the signal formats stored inuniversal remote control 60 by pressing PLAY key 76. When PLAY key 76 ispressed, universal remote control 60 generates and transmits 10 powerOFF signals as described above. After pressing PLAY key 76, the userwaits an appropriate period of time, about 5 seconds, and observes instep 110 whether the device turns OFF in reaction to the transmitted setof power OFF signals. If the device turns OFF, the user knows that thetransmitted set of power OFF signals includes a remote control signalhaving the desired signal format. If the device does not turn OFF, theuser returns to step 106 to press the PLAY key 76 again and observewhether the device reacts as desired. Steps 106, 108 and 110 arerepeated until the device reacts as desired. Optionally, universalremote control 60 may be configured to provide an indication to the userif all of the stored signal formats have been transmitted, for exampleby flashing LED 67 in a particular manner.

When the device turns OFF, the user goes to step 118 to determine thespecific signal format from the set of signal formats identified insteps 106-110. In step 118. the user presses either FF key 78 or REW key74 to individually test the signal formats used in the identified set ofsignals. In step 120, universal remote control 60 transmits a power ONsignal as described above in response to the user pressing either FF key78 or REW key 74, thereby allowing the user to step through each of thesignal formats used in the identified set of signals.

After pressing either FF key 78 or REW key 74, the user observes thedevice to determine whether the transmitted signal format is the desiredformat. If the device reacts as desired, in this case turn ON, asdetermined in step 122, the user knows that the desired signal formathas been transmitted. Otherwise, the user knows that the desired signalformat has not been transmitted and returns to step 118 to repeat theprocess of transmitting another signal format and observing the device.The user repeats this process until the device reacts as desired.

When the device reacts as desired and the user knows that the correctsignal format has been identified, the user can exit the code searchmode in step 124 by pressing STOP key 82 or CLEAR key 84. As notedabove, pressing STOP key 82 causes universal remote control 10 to storethe reference code associated with the identified signal format and exitthe code search mode, while pressing CLEAR key 84 causes universalremote control 10 to exit the code search mode without storing thereference code.

It can be seen that by transmitting a set of signal formats when theuser presses PLAY key 76, an appropriate set of signal formats can bequickly and easily identified. Once the user has identified theappropriate set of signal formats, the user can press either FF key 78or REW key 74 as desired to test each signal format in the set of signalformats to quickly identify the desired signal format. In this manner,the user easily and efficiently controls the pace at which the varioussignal formats are transmitted. After the correct signal format has beenidentified, the user can store the associated reference code so thatsubsequent remote control signals will be based on the stored signalformat.

Additionally, universal remote control 10 may incorporate otherprogramming methods including, but not limited to, the direct, manualentry method, the automatic method and the manual stepping methodwherein the user steps through each signal format stored in ROM byrepeatedly pressing power key 72.

It is to be understood that the present method may be implemented usinga number of techniques and/or programming languages known to one ofordinary skill in the art, including, but not limited to programmingmicrocontroller 14 using assembly language, C and C++.

It will be apparent to those skilled in the art that although theinvention has been described in terms of a specific example,modifications and changes may be made to the disclosed embodimentwithout departing from the essence of the invention. For example, thecontrol keys for transmitting a set of signal formats or an individualsignal format may be implemented with various other keys on a universalremote control. Additionally, the number of signal formats used in a setof signal formats may be varied by the user to more quickly and easilylocate a desired set of signal formats. Also, commands other than powerON/OFF, including user designated commands, may be used to test thestored list of signal formats. Therefore, it is to be understood thatthe present invention is intended to cover all modifications whichnaturally flow from the foregoing and example.

What is claimed is:
 1. A remote control apparatus, comprising: a signaltransmitter; data entry means for allowing a user to enter data andcommands, including one of a plurality of code search commands; a memorycircuit; and a controller operatively coupled to said signaltransmitter, said data entry means, and said memory circuit, saidcontroller causing said signal transmitter to transmit a sequence ofremote control signals during a code search mode of operation, saidcontroller storing in said memory circuit an identification informationassociated with a most recently transmitted signal format in response touser entry of a code search stop command (STOP), wherein said controllercauses said signal transmitter to transmit one of a plurality of sets ofremote control signals in response to user entry of a first code searchcommand (PLAY), each of said sets of remote control signals comprising aplurality of remote control signals, each one of said remote controlsignals in each of said sets being associated with a respective one of aplurality of signal formats stored in said memory circuit.
 2. The remotecontrol apparatus according to claim 1, wherein said controller causessaid signal transmitter to transmit one of said remote control signalsfrom a most recently transmitted set of remote control signals inresponse to user entry of a second code search command (FF).
 3. Theremote control apparatus according to claim 2, wherein said controllercauses said signal transmitter to transmit said remote control signalsfrom said most recently transmitted set of remote control signals, in afirst predetermined order, in response to each user entry of said secondcode search command (FF).
 4. The remote control apparatus according toclaims 3, wherein said controller causes said signal transmitter totransmit said remote control signals from said most recently transmittedset of remote control signals, in a second predetermined order, inresponse to each user entry of a third code search command (REW).
 5. Theremote control apparatus according to claim 1, wherein said controllercauses said signal transmitter to sequentially transmit each of saidremote control signals of said sets of remote control signals with apredetermined time period between each of said remote control signals inresponse to user entry of said first code search command (PLAY).
 6. Theremote control apparatus according to claim 1, further comprising anindicator operatively coupled to said controller, said indicatorproviding an indication to the user each time said controller causessaid signal transmitter to transmit one of said remote control signals.7. The method for programming a remote control apparatus to control oneof a plurality of devices, comprising the steps of: transmitting asequence of remote control signals to a device to be controlled inresponse to user entry of a first code search command (PLAY) during acode search mode of operation, the sequence of remote control signalsadapted to provide an observable response to a user; storing theidentification information associated with a most recently transmittedsignal format in response to user entry of a code search stop command;and generating and transmitting remote control signals in accordancewith the identification information to control the device, wherein thetransmitting step comprises transmitting one of a plurality of sets ofremote control signals to the signal transmitter in response to userentry of a first code search command, each of the sets of remote controlsignals comprising a plurality of remote control signals, each of theremote control signals in each of the sets being associated with arespective one of a plurality of signal formats stored in a memorycircuit of a remote control apparatus.
 8. The method according to claim7, wherein the transmitting step comprises sequentially transmitting apredetermined number of remote control signals with a predetermined timeperiod between each of the remote control signals.
 9. The methodaccording to claim 8, further comprising the step of: transmitting eachone of the remote control signals in the most recently transmitted setof remote control signals, in a first predetermined order, in responseto each user entry of a second code search command whereby a desired oneof the remote control signal in the most recently transmitted set may beidentified.
 10. The method according to claim 9, further comprising thestep of: transmitting each one of the remote control signals in the mostrecently transmitted set of remote control signals, in a secondpredetermined order, in response to each user entry of a third codesearch command, whereby a desired one of the remote control signal isthe most recently transmitted set may be identified.